Low-density Parity-check (LDPC) code is a type of error correcting code used to transmit messages over noisy transmission channels. Many communication systems and standards employ LDPC coding to ensure reliable communications (e.g., satellite systems, digital video broadcasting (DVB-S2), 3GPP2, wireless local area networks (IEEE 802.11), broadband wireless access/WiMax (IEEE 802.16), mobile broadband wireless access (IEEE 802.20), etc.).
To account for transmission errors, conventional techniques add redundant bits (e.g. parity bits) to a bit stream of an encoded message when the bit stream is transmitted. For example, a receiver can reduce a bit error rate (BER) of an LDPC encoded message by utilizing parity bits. Other techniques can incrementally remove parity bits from a bit stream by puncturing (or deleting) the parity bits according to a puncture pattern. When errors are detected by a receiver, a transmitter can send punctured parity bits to the receiver and the receiver can use the parity bits to reduce bit errors.
LDPC punctured code includes a series of rate-compatible punctured codes that can be obtained by successively puncturing a mother (or original) LDPC code—high-rate (e.g., punctured) codes are embedded into lower-rate codes derived from the mother LDPC code. If higher rate codes are not sufficient to decode channel (e.g., transmission) errors, punctured bits can be transmitted to improve an associated BER. For example, rate-compatible punctured codes are widely used in combination with retransmission schemes (e.g., a hybrid automatic repeat request (H-ARQ) retransmission scheme), in which punctured bits are incrementally transmitted when errors are detected in a received data packet. A mother code and a series of rate-compatible puncturing patterns are sufficient to accommodate different effective code rates associated with, e.g., an H-ARQ retransmission scheme. Under such a scheme, a received data packet can be decoded using an iterative decoder tailored to the mother code—the decoder uses a graph/matrix of the mother code to decode rate-compatible punctured codes by treating punctured bits on the graph/matrix of the mother code as erased bits. However, such conventional rate-compatible decoding techniques result in increased decoding complexity and latency.
Therefore, there is a need to provide methods and apparatus to effectively decode rate-compatible punctured LDPC codes.